﻿using System;
using System.Text;

namespace DeVierKoeden.Dynamicweb.CreateSite.Extensions
{
  internal static class StringExtensions
  {
    public static string Replace(this string str, string oldValue, string newValue, StringComparison comparison)
    {
      var sb = new StringBuilder();

      var previousIndex = 0;
      var index = str.IndexOf(oldValue, comparison);
      while (index != -1)
      {
        sb.Append(str.Substring(previousIndex, index - previousIndex));
        sb.Append(newValue);
        index += oldValue.Length;

        previousIndex = index;
        index = str.IndexOf(oldValue, index, comparison);
      }
      sb.Append(str.Substring(previousIndex));
      return sb.ToString();
    }
  }
}
